package com.zmn.oms.model.dto.order.pay;

import com.zmn.oms.common.constant.OrderPayConsts;
import com.zmn.oms.common.dto.OmsBaseOperator;
import com.zmn.oms.common.dto.OmsOperator;
import com.zmn.oms.model.entity.pay.OrderPay;
import com.zmn.oms.model.entity.work.OrderWork;
import lombok.Data;

import java.util.Date;

/**
 * 类描述：
 *
 * @author wangxiaokun
 * @since 2021/10/18 17:58
 */
@Data
public class DuplicatePayRefundDTO extends OmsOperator {

    /**
     * 支付平台
     */
    private Integer payPlat;

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 工单Id
     */
    private Long workId;

    /**
     * 订单支付金额类型
     * @see OrderPayConsts#ORDER_PAY_PREPAY
     */
    private Integer amountType;

    /**
     * 交易类型：1实时到账， 3 退款
     * @see com.zmn.pay.common.constant.PayConsts#PAY_TRADE_TYPE_INTIME
     */
    private Integer tradeType;

    /**
     * 支付状态
     */
    private Integer payStatus;

    /**
     * 支付渠道
     * @see com.zmn.pay.common.constant.PayConsts#PAY_CHANNEL_PLATFORM_WEIXINPAY
     */
    private Integer payChannelId;

    /**
     * 支付方式
     * @see com.zmn.pay.common.constant.PayConsts#PAY_TYPE_QR
     */
    private Integer payType;

    /**
     * 目标支付渠道
     * @see com.zmn.pay.common.constant.PayConsts#PAY_CHANNEL_PLATFORM_WEIXINPAY
     */
    private Integer payTargetChannelId;

    /**
     * 目标支付方式
     * @see com.zmn.pay.common.constant.PayConsts#PAY_TYPE_QR
     */
    private Integer payTargetType;

    /**
     * 合并支付内部流水号（商家流水号）
     */
    private String mergeInnerTradeNo;

    /**
     * 合并支付第三方流水号（平台流水号）
     */
    private String mergePayOutTradeNo;

    /**
     * 合并支付金额
     */
    private Integer mergeAmount;

    /**
     * 内部流水号（商家流水号）
     */
    private String innerTradeNo;

    /**
     * 第三方流水号（平台流水号）
     */
    private String payOutTradeNo;

    /**
     * 支付时间
     */
    private Date payTime;

    /**
     * 凭证图片
     */
    private String imageUrls;

    /**
     * 付款人类型
     * @see com.zmn.common.constant.GlobalConsts#OPERATE_USER_TYPE_USER
     */
    private Integer payerType;

    /**
     * 付款人id
     */
    private Long payerId;

    /**
     * 付款人资金账号id
     */
    private Long payerAccountId;

    /**
     * 付款人第三方帐号(支付宝，微信.)
     */
    private String payerThirdAccount;

    /**
     * 付款账号名
     */
    private String payerThirdAccountName;

    /**
     *付款银行
     */
    private String payerThirdAccountBank;

    /**
     * 收款人类型
     * @see com.zmn.common.constant.GlobalConsts#OPERATE_USER_TYPE_USER
     */
    private Integer payeeType;

    /**
     * 收款人id
     */
    private Long payeeId;

    /**
     * 收款人资金账号id
     */
    private Long payeeAccountId;

    /**
     * 收款人帐号
     */
    private String payeeThirdAccount;

    /**
     * 收款人帐号名称
     */
    private String payeeThirdAccountName;
    /**
     * 收款人一行
     */
    private String payeeThirdAccountBank;

    /**
     * 退款凭证数据
     */
    private String refundImageData;

    /**
     * 代付 1: 非代付  2：代付
     */
    private Integer agentType;

    /**
     * 支付金额
     */
    private Integer amount;

    /**
     * 经度
     */
    private Double longitude;

    /**
     * 纬度
     */
    private Double latitude;

    /**
     * 重复支付类别 0 无重复, 1 系统重复， 2 业务重复
     * @see OrderPayConsts#ORDER_PAY_DUPLICATION_TYPE_NONE
     */
    private Integer duplicateType;

    private OrderPay orderPay;

    private OrderWork orderWork;
}
